package com.inforich.appManage.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.inforich.common.core.domain.AjaxResult;
import java.util.List;
import java.util.Map;
import com.inforich.appManage.domain.Contact;

/**
 * 联系人管理Service接口
 *
 * @author hjm
 * @date 2022-10-27
 */
public interface IContactService extends IService<Contact> {

  /**
   * 分页列表
   */
  Page<Contact> pageContact(Page<Contact> page, Map<String, Object> map);

  /**
   * 列表
   */
  List<Contact> listContact(Map<String, Object> map);

  AjaxResult updateContact(Contact contact);

  Contact getByAppUserId(String userId);

  /**
   * 根据用户ID查询项目ID
   */
  String getProjectIdByAppUserId(String appUserId);

  /**
   * 根据用户ID查询清运公司ID
   */
  String getTransportCompanyIdByAppUserId(String appUserId);

  /**
   * 根据用户ID查询司机ID
   */
  Long getDriverIdByAppUserId(String appUserId);

  /**
   * 添加项目负责人账号
   */
  void addProject(String appUserId, String projectId);

  /**
   * 添加公司负责人账号
   */
  void addCompany(String appUserId, String companyId);

  void removeByAppUserId(String appUserId);

  void removeByCompanyId(String companyId);
}
